Khía cạnh tính toán Ma_trận_(toán_học)

Tính toán các tính chất liên quan tới ma trận có thể dùng nhiều kỹ thuật khác nhau. Nhiều vấn đề được giải quyết bằng cả những thuật toán trực tiếp hoặc bằng phương pháp lặp. Ví dụ, có thể tìm vectơ riêng của một ma trận vuông bằng cách tính dãy các vectơ xn hội tụ về một vectơ riêng khi n tiến tới vô tận.[57]

Để có thể chọn thuật toán thích hợp hơn cho mỗi vấn đề cụ thể, điều quan trọng là xác định được cả tính chính xác và hiệu quả của mọi thuật toán khả dĩ. Phạm vi nghiên cứu những vấn đề này được gọi là đại số tuyến tính bằng số (numerical linear algebra).[58] Với những vấn đề về phương pháp tính khác, hai khía cạnh chính đó là độ phức tạp của thuật toán (complexity of algorithm) và sự ổn định bằng số (numerical stability) của chúng.

Xác định độ phức tạp của thuật toán có nghĩa là tìm chặn trên hoặc ước lượng có bao nhiêu thao tác cơ bản như phép cộng và nhân vô hướng cần thiết để thực hiện một số thuật toán, ví dụ như phép nhân hai ma trận. Ví dụ, tính tích của hai ma trận bậc n x n sử dụng định nghĩa ở trên cần n3 phép nhân, do bất kỳ n2 phần tử của tích, cần có n phép nhân. Thuật toán Strassen tốt hơn thuật toán "thô" này; nó chỉ cần n2,807 phép nhân.[59] Cách tiếp cận đẹp hơn thường kết hợp với những đặc điểm nhất định của thiết bị tính toán.

Trong nhiều vấn đề thực tiễn, chúng ta biết thêm các thông tin về những ma trận tham gia vào quá trình tính toán. Một trường hợp đặc biệt đó là "ma trận thưa" (sparse matrix), tức là phần lớn các phần tử trong ma trận bằng 0. Có những thuật toán được sử dụng để giải hệ phương trình tuyến tính Ax = b cho những ma trận thưa A, như phương pháp gradien liên hợp (conjugate gradient method).[60]

Nói một cách sơ lược, một thuật toán được gọi là ổn định bằng số (numerically stable), nếu những độ lệch nhỏ trong giá trị đưa vào không dẫn tới sự thay đổi lớn trong kết quả của chúng. Ví dụ, khi tính nghịch đảo của ma trận thông qua công thức Laplace (Adj (A) ký hiệu cho ma trận phụ hợp của A)

A−1 = Adj(A) / det(A)

có thể dẫn tới sai số lớn do làm tròn nếu định thức của ma trận rất nhỏ. Ma trận chuẩn tắc (norm matrix) được ứng dụng để nắm bắt điều kiện của những vấn đề đại số tuyến tính, như tính ma trận nghịch đảo.[61]

Hầu hết các ngôn ngữ máy không được thiết kế với những lệnh và thư viện dành cho ma trận, như vào đầu thập niên 1970, một số máy tính để bàn kỹ thuật như HP 9830 có hộp ROM (ROM cartridges) để cho thêm các lệnh BASIC đối với ma trận. Một số ngôn ngữ máy như APL được thiết kế để thực hiện các phép toán về ma trận, và nhiều chương trình phần mềm toán học có thể sử dụng để hỗ trợ các tính toán liên quan tới ma trận.[62]

Tài liệu tham khảo

WikiPedia: Ma_trận_(toán_học) http://orion.uwaterloo.ca/~hwolkowi/matrixcookbook... http://autarkaw.com/books/matrixalgebra/index.html http://www.dotnumerics.com/MatrixCalculator/ http://books.google.com/?id=ULMmheb26ZcC&pg=PA1&dq... http://books.google.com/books?id=5GQPlxWrDiEC&pg=P... http://books.google.com/books?id=CBhDAQAAIAAJ&pg=P... http://books.google.com/books?id=jfQ9E0u4pLAC&pg=P... http://books.google.com/books?id=r-kZAQAAIAAJ&pg=P... http://www.idomaths.com/matrix.php http://www.merriam-webster.com/dictionary/matrix